// pages/search/search.js
var {getGoodsSearch} = require('../../api/search')
var {getCategory} = require('../../api/category')
Page({

    /**
     * 页面的初始数据
     */
    data: {
        flag:true,//控制全局样式
        warnFlag:false,//警告
        tipsflag:false,//添加购物车提示
        tipscontent:'',//提示内容
        historyLists:[],//历史记录
        findLists:[],//推荐列表
        value:'',//输入框值
        timer:null,//延时器
        eyeflag:true,//眼睛控制开关
        num:0,//搜索数量
        searchgoodsList:[
            // {
            //   id:1,
            //   name:'你刷啥那啥的骄傲速度快你刷啥那啥的骄傲速度快你刷啥那啥的骄傲速度快'
            // }
          ]//推荐商品数据
    },
    // 改变眼睛状态
    changeEye(){
        let eyeflag = !this.data.eyeflag
        this.setData({
            eyeflag
        })
    },
    // 获取输入框的值
    getValue(e){
        clearTimeout(this.data.timer)
        this.data.timer = setTimeout(() => {
            this.setData({
                value:e.detail.value
            })
        }, 500);
    },
    // 点击搜索按钮
    search(){
        // 获取搜索的数据
        if(this.data.value){
            getGoodsSearch({query:this.data.value}).then(data=>{
                let searchgoodsList = []
                data.message.forEach(item=>{
                   searchgoodsList.push({
                       id:item.goods_id,
                       name:item.goods_name
                   })
                })
                this.setData({
                    searchgoodsList,
                    num:searchgoodsList.length
                })
            })
            // 加入历史记录
            // 判断缓存中是否有历史记录
            let history = wx.getStorageSync('historyLists')
            // 有历史记录
            if(history){
                let istrue = history.some(item=>item == this.data.value)
                if(!istrue){//没有相同记录
                    history.push(this.data.value)
                    wx.setStorageSync('historyLists', history)
                }
            }else{//没有记录
                wx.setStorageSync('historyLists', [this.data.value])
            }
            this.setData({
                flag:false,

            })
        }else{
            this.setData({
                tipscontent:"请输入关键词",
                warnFlag:true,
            })
            setTimeout(()=>{
                this.setData({
                    warnFlag:false,
                })
            },1500)
        }
    },
    // 点击value值
    rechange(){
        let historyLists = wx.getStorageSync('historyLists')
        this.setData({
            flag:true,
            value:'',
            historyLists,
        })
    },
    // 清除历史记录
    del(){
        wx.setStorageSync('historyLists', []);
        this.setData({
            historyLists:[],
            tipscontent:"成功清除历史记录",
            tipsflag:true,
        })
        setTimeout(()=>{
            this.setData({
                tipsflag:false,
            })
        },1500)
    },
    // 点击历史记录查询
    getItem(data){
        this.setData({
            value:data.currentTarget.dataset.item
        })
        this.search();
    },
    // 换一换功能
    changeKeywords(){
        // 获取搜索发现
        let lists =[];
        getCategory().then(data=>{
            
            data.message.forEach(item=>{
            //    children.push(item.children)
               item.children.forEach(key=>{
                  lists.push(key.cat_name)
               })
            })
           
            this.setData({
                findLists:lists.sort(()=>{
                    return Math.random()-0.5
                }).slice(0,8)
            })
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        // 获取搜索历史
        let historyLists = wx.getStorageSync('historyLists')
        this.setData({
            historyLists,
        })
        // 获取搜索发现
        let lists =[];
        getCategory().then(data=>{
            
            data.message.forEach(item=>{
            //    children.push(item.children)
               item.children.forEach(key=>{
                  lists.push(key.cat_name)
               })
            })
           
            this.setData({
                findLists:lists.sort(()=>{
                    return Math.random()-0.5
                }).slice(0,8)
            })
        })

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})